12. 文本:格式化最佳方法

Workspace

This section contains either a workspace (it can be a Jupyter Notebook workspace or an online code editor work space, etc.) and it cannot be automatically downloaded to be generated here. Please access the classroom with your account and manually download the workspace to your local machine. Note that for some courses, Udacity upload the workspace files onto https://github.com/udacity , so you may be able to download them there.

Workspace Information:

  • Default file path:
  • Workspace type: sql-evaluator
  • Opened files (when workspace is loaded): n/a

如果想练习下面的任何操作,我已经嵌入了上面的 SQL 环境。

规定查询格式

大写

你可能已经注意到,我们大写了 SELECT 和 FROM,而将表和列名称小写。这是一个常见的格式惯例。大写命令(SELECT、FROM),小写查询中的其他内容是常见做法。这使得查询更容易读取,这在编写更复杂的查询时更为重要。准备编写查询时,这是一个很好的习惯。

表和变量名中不需要空格

通常在列名中使用下划线,避免使用空格。 在 SQL 中使用空格有点麻烦。 在 Postgres 中,如果列或表名称中有空格,就需要使用双引号括住这些列/表名称(例如:FROM \"Table Name\",而不是 FROM table_name)。在其他环境中,可能会使用方括号(例如:FROM [Table Name])。

在查询中使用空格

SQL 查询忽略空格,因此可以根据需要在代码之间添加尽可能多的空格和空行,并且查询结果是相同的。我们来看下面这个查询

SELECT account_id FROM orders

等价于这个查询:

SELECT account_id
FROM orders

和这个查询(但是不要这样写,不符合规范,而且太丑了):

SELECT              account_id

FROM               orders

SQL 不区分大小写

如果你已经使用过其他语言编程,那么可能会熟悉编程语言,如果没有区分大小写键入正确的字符,那么会非常麻烦。 SQL 不区分大小写。 我们来看看下面的查询:

SELECT account_id
FROM orders

和这个相同:

select account_id
from orders

也和这个相同:

SeLeCt AcCoUnt_id
FrOm oRdErS

但是,我会再次提醒你遵循上面讲述的完全大写命令的惯例,而将其他代码片段小写。

分号

根据 SQL 环境,查询结尾可能需要一个执行的分号。 这个"要求"在其他环境中比较灵活。我们认为在每个语句的末尾添加一个分号是最好的做法,如果环境能够一次显示多个结果,那么这样做还可以一次运行多个命令。

最好的做法:

SELECT account_id
FROM orders;

因为,我们这里的环境不需要分号,你会看到没有分号的解决方案:

SELECT account_id
FROM orders

哇 !!! 规则有点多,但是不要紧,慢慢学。犯错误也是一个学习的过程!